package leetcode;

import java.util.HashSet;
import java.util.Set;

public class l0349_两个数组的交集 {

    public int[] intersection(int[] nums1, int[] nums2) {
        //1 前置校验
        if (nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0) {
            return new int[0];
        }
        //2 业务逻辑处理
        Set<Integer> dataSet = new HashSet<>();
        for (int value : nums1) {
            dataSet.add(value);
        }
        Set<Integer> resultSet = new HashSet<>();
        for (int value : nums2) {
            if (dataSet.contains(value)) {
                resultSet.add(value);
            }
        }

        int[] resultArr = new int[resultSet.size()];
        int resultIndex = 0;
        for (int value : resultSet) {
            resultArr[resultIndex++] = value;
        }
        return resultArr;
    }
}
